/*
* @Author: ZhangZheyi
* @Date:   2016-07-28 11:01:03
* @Last Modified by:   ZhangZheyi
* @Last Modified time: 2016-07-28 14:26:17
* 注册响应
*/

'use strict';

var  mongodb = require('./db');

function User(user) {
   this.name = user.name;
   this.password =user.password;
   this.email =user.email;
};

module.exports = User;

//存储用户信息
User.prototype.save = function (callback) {
    //要存入数据库的用户文档
    var user = {
      name: this.name,
      password: this.password,
      email: this.email
    };

    //打开数据库
    mongodb.open(function (err,db) {
        if (err) {
            return callback(err);  //错误，返回err信息
        }

        //读取users 集合
        db.collection('users',function (err,collection) {
            if (err) {
                mongodb.close();
                return callback(err); //错误，返回err信息
            }
            //将用户数据插入users集合
            collection.insert(user,{
                safe:true
            },function (err,user) {
                mongodb.close();
                if (err) {
                    return callback(err); //错误，返回err信息
                }
                callback(null,user[0]);  //成功！err 为 null，并返回存储后的用户文档
            });
        });
    });
};

//读取用户信息
User.get =function (name,callback) {
    //打开数据库
    mongodb.open(function (err,db) {
        if (err) {
            return callback(err); 
        }
        //读取users集合
        db.collection('users',function (err,collection) {
            if (err) {
                mongodb.close();
                return callback(err); 
            }
            //查找用户名(name键)值为name 一个文档
            collection.findOne({
                name:name
            },function (err,user) {
                mongodb.close();
                if (err) {
                    return callback(err); //失败！，返回err信息
                }
                callback(null,user);  //成功！返回查询的用户信息
            });
        });
    });
};
